SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE [dbo].[spGuardarVacantes]


@Concurso int,
@Localidad int,
@Plaza int = Null,
@PlazaACrear int = Null,
@Estado int = null,
@AgenteDesignado int = Null,
@SitRevDesignado int = Null,
@CategoriaTituloDesignado int = Null,
@FechaDesignacion varchar(10) = Null,
@ResponsableDesignacion int =Null,

@ABM int
as
SET NOCOUNT ON
if exists (Select * from tb_Vacantes where Concurso = @Concurso and Plaza = @Plaza) begin
set @ABM = 3
end
else begin
set @ABM = 1
end

if @ABM = 1 begin
BEGIN TRANSACTION
INSERT INTO tb_Vacantes (Concurso,Localidad,Plaza,PlazaACrear,Estado,AgenteDesignado,SitRevDesignado,CategoriaTituloDesignado,FechaDesignacion,ResponsableDesignacion )
VALUES (@Concurso,@Localidad,@Plaza,@PlazaACrear,@Estado,@AgenteDesignado,@SitRevDesignado,@CategoriaTituloDesignado,@FechaDesignacion,@ResponsableDesignacion )
declare @idVacante int 
Select @idVacante =  @@identity


if @@Error = 0
	COMMIT TRANSACTION
else
	ROLLBACK TRANSACTION
end

if @ABM = 3 begin
BEGIN TRANSACTION
UPDATE tb_Vacantes
SET Concurso = @Concurso,Localidad = @Localidad,Plaza = @Plaza,PlazaACrear = @PlazaACrear,Estado = @Estado,AgenteDesignado = @AgenteDesignado,SitRevDesignado = @SitRevDesignado,CategoriaTituloDesignado = @CategoriaTituloDesignado,FechaDesignacion = @FechaDesignacion ,ResponsableDesignacion =  @ResponsableDesignacion
where Concurso = @Concurso and Plaza = @Plaza

if @@Error = 0
	COMMIT TRANSACTION
else
	ROLLBACK TRAN
end

if @ABM = 2 begin
BEGIN TRANSACTION
DELETE tb_Vacantes FROM  tb_Vacantes WHERE Concurso = @Concurso and Plaza = @Plaza

if @@error = 0
	COMMIT TRAN
else
	ROLLBACK TRAN

end
GO
